home *** CD-ROM | disk | FTP | other *** search
/ Software Vault: The Gold Collection / Software Vault - The Gold Collection (American Databankers) (1993).ISO / cdr26 / netprog.zip / NETPROG.TAR / rpc.sun / timedate / rdate.c < prev    next >
C/C++ Source or Header  |  1989-12-17  |  1KB  |  60 lines

  1. /*
  2.  * rdate.c - client program for remote date service.
  3.  */
  4.  
  5. #include    <stdio.h>
  6. #include    <rpc/rpc.h>    /* standard RPC include file */
  7. #include    "date.h"    /* this file is generated by rpcgen */
  8.  
  9. main(argc, argv)
  10. int    argc;
  11. char    *argv[];
  12. {
  13.     CLIENT        *cl;        /* RPC handle */
  14.     char        *server;
  15.     long        *lresult;    /* return value from bin_date_1() */
  16.     char        **sresult;    /* return value from str_date_1() */
  17.  
  18.     if (argc != 2) {
  19.         fprintf(stderr, "usage: %s hostname\n", argv[0]);
  20.         exit(1);
  21.     }
  22.     server = argv[1];
  23.  
  24.     /*
  25.      * Create the client "handle."
  26.      */
  27.  
  28.     if ( (cl = clnt_create(server, DATE_PROG, DATE_VERS, "udp")) == NULL) {
  29.         /*
  30.          * Couldn't establish connection with server.
  31.          */
  32.  
  33.         clnt_pcreateerror(server);
  34.         exit(2);
  35.     }
  36.  
  37.     /*
  38.      * First call the remote procedure "bin_date".
  39.      */
  40.  
  41.     if ( (lresult = bin_date_1(NULL, cl)) == NULL) {
  42.         clnt_perror(cl, server);
  43.         exit(3);
  44.     }
  45.     printf("time on host %s = %ld\n", server, *lresult);
  46.  
  47.     /*
  48.      * Now call the remote procedure "str_date".
  49.      */
  50.  
  51.     if ( (sresult = str_date_1(lresult, cl)) == NULL) {
  52.         clnt_perror(cl, server);
  53.         exit(4);
  54.     }
  55.     printf("time on host %s = %s", server, *sresult);
  56.  
  57.     clnt_destroy(cl);        /* done with the handle */
  58.     exit(0);
  59. }
  60.